1 . Technical Field
The present invention is directed to software applications. More specifically, the present invention is directed to a system, apparatus and method of selecting graphical component types at runtime.
2 . Description of Related Art
A dashboard is a graphical user interface (GUI) on which selectable application instances are displayed. Every application represented on the dashboard is an instance of a specific application type. An example of an application type is “System”. An example of a System application type may be “shutdown”. When an instance of a System application type has been configured with appropriate configuration information to shut the system down, the dashboard will display a graphical component which when selected will do so.
The display of graphical components may vary. For example, a graphical component may be displayed as a menu item or menuItem widget, a tree item or treeItem widget, a toolbar widget, a drop-down menu widget, a button et cetera. A widget is a software application written in JAVA™ (ORACLE® and JAVA are registered trademarks of Oracle and/or its affiliates).
Generally, if a dashboard is configured to be menu-based, the graphical components display thereon will be menultem widgets. If the dashboard is instead configured to be tree-based, the graphical components that will be displayed on the dashboard will be treeltem widgets and so on. Further, if a dashboard is configured to be a full-fledged dashboard (i.e., the dashboard is configured to show all application instances with all their functionalities), a user will be able to access all the functionalities provided by the application instances. If, on the other hand, the dashboard is configured to be a minimalist dashboard (i.e., the dashboard is configured to show application instances with only tool tips, for example, and no functionalities), only the tool tips will be available to the user (i.e., the user should not be able to access any of the functionalities provided by the application instances).
Based on the above description, “type” in the context of the present invention will henceforth be used to refer to both the presentation of a selectable application instance or its “look and feel” (e.g., the display presentation of a shutdown graphical component or widget) on the dashboard and its behavior when selected (e.g., shutting down the system). Note that “type” used with dashboard and graphical component should not be confused with “type” used with application. “Type” used with application refers to the application program whereas “type used with dashboard and graphical component is used to refer to look, feel and behavior.
Presenting different types of graphical components while using the same data can be rather advantageous. For example, if an employee is very well accustomed with menu-driven dashboards, the dashboard used by the employee may be configured to be menu-based. If another employee is more familiar with tree-based dashboards, his/her dashboard may be configured to be tree-based. If both employees are from the same department, their dashboards, although are of different types, may nonetheless provide the same functionality. A visiting individual, on the other hand, may be provided with a minimalist dashboard for restricted functionality.
Since the same data is being used in all instances described above, there is a need to determine automatically the type of graphical components to display in each situation.